1. Technical Field
The inventive concept relates to an error correction circuit, and more particularly, to an error correction circuit applied to a memory system and an operating method of the error correction circuit.
2. Discussion of Related Art
Demand for flash memories has increased with the development of mobile systems. A flash memory is an electrically erasable and programmable non-volatile memory device, which can maintain data without a power supply. A flash memory may also use less power than a magnetic disk memory and have an access time as fast as a hard disk.
For example, a flash memory can store information by changing a default state (e.g., logic “1”) of a constituent cell to a used state (e.g., logic “0”). A collection of cells in a flash memory is referred to as a block. Before data can be written to a cell in the block, an erase operation resets all the cells in the block to have data “1”. Each block of a flash memory may include a plurality of pages. A page in a block whose cells are all set to have data “1” is referred to as a free page.
An error may occur during a data read or write of a flash memory due to physical characteristics of the flash memory. An error correction circuit (ECC) may be included in a flash memory system to correct the error. The ECC circuit may include an ECC encoder and an ECC decoder. For example, when data is written to a flash memory, parity data generated by the ECC encoder is written together with main data. When data is read from the flash memory, the main data and the parity data are read together. The parity data is used by the ECC decoder to detect and correct errors in main data. The combination of the main data and the parity data is referred to as a codeword.
An application using flash memory may read data from a free page. However, data read from a free page (i.e., all data “1”) does not correspond to a codeword used by the ECC circuit. As a result, the ECC circuit detects an error, but cannot correct the error.
Thus, there is a need for an error correction circuit that can handle data processing for a free page, a flash memory system including the error correction circuit, and a method of operating the error correction circuit.